package com.projetosi.web.server.sistema.objetos;

import com.projetosi.web.server.sistema.interfaces.Atividade;

public class AtividadeRegistroDeInteresseEmItem implements Atividade{
	private String nomeDoUsuarioInteressado, nomeDoItem, nomeDoDono, template, idAtividade;
	
	public AtividadeRegistroDeInteresseEmItem(String nomeDoUsuarioInteressado, String nomeDoItem, String nomeDoDono) throws Exception{
		setNomeDoUsuarioInteressado(nomeDoUsuarioInteressado);
		setNomeDoItem(nomeDoItem);
		setNomeDoDono(nomeDoDono);
		setTemplate(criarTemplateDaAtividade());
		
	}
	@Override
	public String criarTemplateDaAtividade(){
		return getNomeDoUsuarioInteressado() +  " tem interesse pelo item " + getNomeDoItem() + " de " + getNomeDoDono();
	}

	@Override
	public String getTemplate() {
		return template;
	}
	
	public void setTemplate(String template) throws Exception{
		if(template== null || template.trim().isEmpty())
			throw new Exception("Template nao pode ser null ou vazio");
		this.template = template;
	}
	
	public String getNomeDoUsuarioInteressado() {
		return nomeDoUsuarioInteressado;
	}
	
	public void setNomeDoUsuarioInteressado(String nomeDoUsuarioInteressado) throws Exception{
		if(nomeDoUsuarioInteressado== null || nomeDoUsuarioInteressado.trim().isEmpty())
			throw new Exception("Nome do usuario nao pode ser null ou vazio");
		this.nomeDoUsuarioInteressado = nomeDoUsuarioInteressado;
	}
	
	public String getNomeDoItem() {
		return nomeDoItem;
	}
	
	public void setNomeDoItem(String nomeDoItem) throws Exception {
		if(nomeDoItem== null || nomeDoItem.trim().isEmpty())
			throw new Exception("Nome do item nao pode ser null ou vazio");
		this.nomeDoItem = nomeDoItem;
	}
	public String getNomeDoDono() {
		return nomeDoDono;
	}
	
	public void setNomeDoDono(String nomeDoDono) throws Exception {
		if(nomeDoDono== null || nomeDoDono.trim().isEmpty())
			throw new Exception("Nome do usuario nao pode ser null ou vazio");
		this.nomeDoDono = nomeDoDono;
	}
	
	@Override
	public String getIdAtividade() {
		return idAtividade;
	}
	
	@Override
	public void setIdAtividade(String id) {
		this.idAtividade = id;
	}
	
	@Override
	public boolean equals(Object obj) {
		if(!(obj instanceof AtividadeRegistroDeInteresseEmItem)){
			return false;
		}
		AtividadeRegistroDeInteresseEmItem outra = (AtividadeRegistroDeInteresseEmItem) obj;
		return (this.getNomeDoDono().equals(outra.getNomeDoDono()) &&
			   this.getNomeDoItem().equals(outra.getNomeDoItem()) &&
			   this.getNomeDoUsuarioInteressado().equals(outra.getNomeDoUsuarioInteressado()));
	}
	
	

}
